package com.nineclock.document.service;

import com.nineclock.common.entity.PageResult;
import com.nineclock.document.dto.DocFileDto;
import com.nineclock.document.dto.DocFileHistoryDto;
import com.nineclock.document.dto.DocumentDto;
import com.nineclock.document.dto.DocumentUserDTO;

import java.util.List;

public interface DocFileService {

    /**
     *  查询当前文件夹下的子文件夹及文件列表
     * @param parentFoldId
     * @return
     */
    public DocumentDto listFolderAndFile(Long parentFoldId);

    /**
     * 根据ID查询文档内容
     * @param id
     * @return
     */
    public DocFileDto getFileByFileId(Long id);

    /**
     * 根据文档ID查询文档协作者信息
     * @param fileId
     * @param page
     * @param pageSize
     * @return
     */
    public PageResult<DocumentUserDTO> pagingCollaborations(Long fileId, Integer page, Integer pageSize);

    /**
     * 分页查询文件列表
     * @param page
     * @param pageSize
     * @param keyword   文件名关键字
     * @return
     */
    PageResult<DocFileDto> pagingFiles(Integer page, Integer pageSize, String keyword);

    /**
     * 封禁/解封文件
     * @param fileId
     * @param status
     */
    void changStatus(Long fileId, Short status);

    /**
     *PC端-查看历史记录
     * @param fileId
     * @return
     */
    List<DocFileHistoryDto> getDocFileHistory(Long fileId);
}
